A producer of digital multimedia content such as digital video or images may seek to distribute content over a network such as the Internet. A network may have a finite amount of bandwidth available to serve the digital multimedia to a large number of clients. Since the transmission bandwidth is finite, a producer of the digital multimedia content may seek to compress the amount of data associated with the digital multimedia content. By compressing the amount of data associated with the digital multimedia content, a producer may serve a larger number of requests over the fixed amount of bandwidth.
Current digital video and digital image compression techniques focus on reducing the amount of information required to accurately reproduce an original frame of digital video or digital still image. An original digital video or image may be compressed and decompressed using a computer software module known as a codec, or, compressor/decompressor. The data associated with a digital video or image may be both compressed and decompressed using the same codec.
There are currently many types of clients capable of displaying digital video or images. For example, a typical personal computer (PC), portable telephones, personal digital assistants (PDAs), portable music and video players, television set-top boxes, video game consoles, and the like. Each of these devices may display digital video or images at a different resolution; for example, a portable telephone may have a much smaller screen and corresponding resolution than a high definition television connected to a set-top box.
It is therefore desirable for an application intended to display compressed digital video or image signal to include spatial scalability functionality. Spatial scalability may be referred to as a function of a digital video or image codec to resize a digital video or image to different size or resolution. That is, the codec may extract or filter a subset of the compressed digital video or image signal such that an accurate representation of the digital video or image may be viewed at a different size or different resolution.
For example, an original digital video may be produced at a resolution of 640 pixels by 480 pixels, which would typically be viewed on a personal computer monitor. A display application making use of a codec on the personal computer may therefore decompress and display the digital video at the original resolution of 640 pixels by 480 pixels. However, should the digital video be sent to a portable telephone with a resolution of 320 pixels by 240 pixels, a display application may make use of a codec to extract or filter a subset of the original digital video to produce an accurate representation of the original digital video at the lower resolution.
Presently, spatial scalability functionality is focused on dyadic spatial scaling schemes. A current codec may implement a dyadic spatial scaling scheme that halves the resolution of the compressed digital video or image signal at each resolution reduction step. That is, the resolution may be scaled at a ratio of 2:1. For example, a user may view a digital video of 640 pixels by 480 pixels using a multimedia application on a personal computer. The user may resize the application window to a smaller size. However, due to the dyadic spatial scalability of the codec, the resolution of the digital video will first shrink to 320 pixels by 240 pixels. If the user continues to shrink the application window, the resolution will be halved again to 160 pixels by 120 pixels.
Current spatial scalability schemes are focused on dyadic spatial scalability schemes due to the properties of the lifting wavelet algorithms used to extract the lower resolution subset of the compressed digital video or image. In particular, current digital video and image codecs may employ computer executable implementations of lifting scheme wavelet algorithms. Such lifting wavelet algorithms may be recursive in that the output of a first step of the algorithm becomes the input for a following step of the algorithm. Furthermore, each recursive step of the lifting wavelet algorithm halves the previous number of elements in the original data set representing the digital video or image signal.
While such dyadic spatial scalability codecs may effectively reduce the resolution or size of a compressed digital video or image by a factor of two, or, a ratio of 2:1, current uses of codecs may require resolution reduction by other factors. For example, a current high definition television signal of 1080 interlaced (1080i) may have a resolution of 1920 pixels by 1080 pixels. A current high definition signal of 720 progressive (720p) may have a resolution of 1280 pixels by 720 pixels. A set top box may be connected to a television set that only supports display of a 720 progressive image and not a 1080 interlaced image. It may be desirable for the set top box to scale the 1080 interlaced image to a 720 progressive image, a ratio of 3:2.
However, if the set top box executes a codec that implements a dyadic spatial scalability algorithm, the set top box can only reduce the 1080 interlaced resolution by half, to 960 pixels by 540 pixels. Therefore, the codec may not produce a properly spatially scaled digital video at the 720 progressive resolution. That is, the codec is not capable of scaling the 1080 interlaced image at a ratio of 3:2.